package org.tankwar.model;

import org.tankwar.view.GamePanel;

import java.awt.*;

/**
 * 游戏道具抽象类
 */
public abstract class GameProp implements GameComponent{
    protected int width = 36; // 游戏道具的宽度
    protected int height = 36; // 游戏道具的高度
    protected int x, y; // 游戏道具的x，y坐标
    protected GamePanel frame; // 游戏道具要画在的那个窗口
    protected int step = 0; // 游戏道具在position数组的第几个位置
    protected boolean live = true; // 游戏道具是否存活
    protected Image bloodImage; // 游戏道具的图片
    protected int[][] position; // 游戏道具的坐标数组

    protected void move() { // 切换到下一个位置
        step++;
        if (step == position.length) {
            step = 0;
        }
        x = position[step][0];
        y = position[step][1];
    }

    public boolean isLive() {// 判断是否还活着
        return live;
    }

    public void setLive(boolean live) { // 设置是否存活
        this.live = live;
    }

    public GamePanel getFrame() {
        return frame;
    }

    public void setFrame(GamePanel frame) {
        this.frame = frame;
    }

    @Override
    public Rectangle getRect() {
        return new Rectangle(x, y, width, height);
    }
}
